﻿/* 
 * Since 2008 - 2012
 */

package com.hh.bss.customer.service;

import java.io.Serializable;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.*;

import com.hh.bss.auth.client.OnlineUser;
import com.hh.bss.base.*;
import com.hh.bss.common.page.*;
import com.hh.bss.common.page.impl.*;
import com.hh.bss.common.tree.CompanyCvTreeNode;
import com.hh.bss.customer.dao.*;
import com.hh.bss.customer.entity.*;
import com.hh.bss.customer.service.*;
import com.hh.bss.customer.vo.query.*;
import com.hh.bss.talent.entity.Cv;
import com.hh.bss.util.*;



public interface CompanyService<E, PK extends Serializable> extends BusinessService<E, PK> {
	public Page findPage(CompanyQuery query);

	public boolean isLvCv(Integer id);

	public List getOrg(Integer companyId, Integer deptId);

	public List getOrgOnly(Integer companyId, Integer deptId);

	public void deleteCompany(String ids);

	public boolean isCompanyRepeat(Company company);

	public boolean isProtect(Integer companyId);

	public Company getByCustId(Integer custId);

	public Map getCompanyContext(Integer companyId);

	public void saveCompanyCvInfo(Cv cv, CompanyCv companyCv);

	public void importCompanyFromExcel(String path);

	public Page findDelPage(CompanyQuery companyQuery);

	public void saveOrgTree(OnlineUser onlineUser, Integer companyId, CompanyCvTreeNode root);

	public Page findSimplePage(CompanyQuery query);

	// public void batchUpdate(Company company);
	public void companyMerger(String id, String ids);

	public Page findCompanyMergePage(CompanyQuery companyQuery);

	public Page findSameOfDelCvPage(CompanyQuery companyQuery);

	public boolean checkCompanyIntegrity(Integer companyid);

	public void recoverCompany(String ids);
}
